Often, various Boolean gates are required to implement a complex Boolean function. As the number of Boolean gates increases, the amount of space needed to provide the Boolean gates in an integrated circuit (IC) also increases. In addition, how fast the IC circuit can generate an output for the Boolean function, and the amount of power required by the IC circuit is determined by the number of Boolean gates needed to implement the Boolean function. Furthermore, Boolean gates are volatile and thus cannot store an output for the Boolean function if the power is turned off.
Accordingly, there is a need to reduce the number of Boolean gates required by an IC circuit.